package com.nowcoder.community.event;

import com.alibaba.fastjson.JSONObject;
import com.nowcoder.community.entity.Event;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;

/**
 * @author AnYang
 * @Description 事件生产者
 * @Version 1.0.0
 * @Date 2024/2/4
 */

@Component
public class EventProducer {

    @Autowired
    private KafkaTemplate kafkaTemplate;

    // 处理事件
    public void fireEvent(Event event) {
        // 将事件发布到指定topic中，第二个参数需要一个字符串，并要包含事件所有内容，所以需要转化为json，消费者获取到json再转化为对象
        kafkaTemplate.send(event.getTopic(), JSONObject.toJSONString(event));
    }
}
